<?php
// +----------------------------------------------------------------------
// | hkcms message
// +----------------------------------------------------------------------
// | Copyright (c) 2012-2019 http://www.hkcms.cn, All rights reserved.
// +----------------------------------------------------------------------
// | Author: 广州恒企教育科技有限公司 <admin@hkcms.cn>
// +----------------------------------------------------------------------

namespace addon\message;

use \app\addons\util\Addon;

class MessageAddon extends Addon {
    
    // 插件错误信息
    public $error = '';
    
    //插件信息
    public $info = array(
        'name' => 'message',
        'title' => '留言板插件',
        'description' => '留言板插件，安装时会自动创建hkcms(前缀)_message表，卸载也会删除表。',
        'status' => 1,
        'author' => 'holuo',
        'version' => '1.0.0',
        'has_adminlist' => 1,
        'sign' => 'e10adc3949ba59abbe56e057f20f883e',
        'behavior' => 'view_nav_menu'
    );

    /**
     * 有开启插件后台情况下，添加对应的控制器方法
     * 也就是插件目录下 Action/Admin.php中，public属性的方法！
     * 每个方法都是一个数组形式，删除，修改类需要具体参数的，建议隐藏！
     * @var array
     */
    public $adminlist = array(
        array(
            //方法名称
            "action" => "",
            //附加参数 例如：a=12&id=777
            "data" => "",
            //类型，1：权限认证+菜单，0：只作为菜单
            "type" => 0,
            //状态，1是显示，0是不显示
            "status" => 1,
            //名称
            "name" => "",
            //备注
            "remark" => "",
            //排序
            "listorder" => 0,
        ),
    );

    /**
     * 插件安装
     * @return bool
     * @throws \think\db\exception\BindParamException
     * @throws \think\exception\PDOException
     */
    public function install()
    {
        $prefix = config('database.prefix');
        db()->execute("DROP TABLE IF EXISTS `{$prefix}message`");
        $res = db()->execute("
            CREATE TABLE `{$prefix}message` (
              `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '留言板id',
              `name` varchar(25) DEFAULT NULL COMMENT '姓名',
              `phone` varchar(20) DEFAULT NULL COMMENT '手机号',
              `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
              `create_at` int(10) DEFAULT NULL COMMENT '留言时间',
              `content` varchar(255) DEFAULT NULL COMMENT '内容',
              PRIMARY KEY (`id`)
            ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='留言表';
        ");
        if ($res===false) {
            $this->error = '数据表创建失败~';
            return false;
        }
        return true;
    }

    /**
     * 卸载操作
     * @return bool
     */
    public function uninstall()
    {
        $prefix = config('database.prefix');
        db()->execute("DROP TABLE `{$prefix}message`");
        return true;
    }
    
    /**
     * 返回错误信息
     * @return string
     */
    public function getError()
    {
        return $this->error;
    }

    /**
     * 实现行为 viewNavMenu
    * @param $param
     */
    public function viewNavMenu($param = NULL)
    {
        //具体的处理逻辑代码
        echo '<li><a href="'.url('addons/message/index').'">留言板</a></li>';
    }

}
